package com.douqu.game.auth.service;


import com.douqu.game.auth.database.model.RoleRecordModel;
import com.douqu.game.auth.web.request.AuthReqDto;
import com.douqu.game.auth.web.request.LoginReqDto;
import com.douqu.game.auth.web.request.RegisterReqDto;
import com.douqu.game.auth.web.request.UpdateRecordReqDto;
import com.douqu.game.core.controller.PlayerController;
import com.douqu.game.core.entity.Player;
import com.douqu.game.core.web.response.BaseResponseDto;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * Author : wamgzhenfei
 * 2017-07-06 15:55
 */
public interface PlayerService {
    BaseResponseDto auth(AuthReqDto loginReqDto);
    public RoleRecordModel getUserRecordByAccount(String account);
    public List<RoleRecordModel> getUserRecordByDevice(String device);

    BaseResponseDto register(RegisterReqDto register);

    BaseResponseDto loginSuccess(LoginReqDto loginReqDto,HttpServletRequest request, HttpServletResponse response);

    BaseResponseDto getServerList(String account, Integer channel,Integer serverRuleId);

    BaseResponseDto updateRecord(UpdateRecordReqDto updateRecordReqDto);


    BaseResponseDto mergeServer(UpdateRecordReqDto updateRecordReqDto);

    BaseResponseDto getCaptcha(String phone);

    boolean recharge(PlayerController playerController, Player player, int rechargeId, int realRmb, String orderNo);

//    BaseResponseDto bandPhoneNumGetCaptcha(String deviceId, String phoneNum);


     BaseResponseDto bandPhoneNum(String deviceId, String phoneNum, String captcha);

    BaseResponseDto getPhoneBandDevice(String phone);

    BaseResponseDto getWhiteList();

}
